Open VSwitch in OpenWrt

您所在的位置:网站首页 openvswitch install Open VSwitch in OpenWrt

Open VSwitch in OpenWrt

#Open VSwitch in OpenWrt | 来源: 网络整理| 查看: 265

在这一篇博客中,我将详细介绍如何在OpenWrt系统中搭建Open VSwitch,从而让AP适用于SDN系统。

AP有“瘦AP”(Fit AP)和“胖AP”(Fat AP)之分,Fat AP是与Fit AP相对来讲的,Fat AP将WLAN的物理层、用户数据加密认证、QoS、网络管理、漫游技术以及其他应用层的功能集于一身。Fat AP无线网络解决方案可由由Fat AP直接在有线网的基础上构成,设备结构复杂,且难于集中管理,比较常用于家庭无线接入,即所谓的“无线路由器”。Fit AP是一个只有加密、射频功能的AP,功能单一,不能独立工作。整个Fit AP无线网络解决方案由无线控制器和Fit AP在有线网的基础上构成。Fit AP上“零配置”,所有配置都集中到无线控制器上。这也促成了Fit AP解决方案更加便于集中管理,并由此具有三层漫游、基于用户下发权限等Fat AP不具备的功能。

本文的解决方案为Fat AP的SDN适配方案,解决思路为Fat AP + Openwrt + OVS。我将介绍三种在Openwrt下安装OVS的方法。

Install OpenVSwitch in OpenWrt 方法一 编译一个带Open VSwitch版本的OpenWrt固件

这种方法是在Linux系统下直接编译一个带有Open VSwitch的固件,并将固件刷入AP中。

此方法操作步骤简单,但容易出错,编译过程常伴随各种未知错误。本人尝试过多次,编译过多种版本下的固件,失败多过成功。但这种方法还是推荐大家学习,方便日后进一步学习扩展。

升级软件安装包,安装编译时需要的组件。

12sudo apt-get updatesudo apt-get install gccg++binutilspatchbzip2flexbison make autoconf gettext texinfo unzip sharutils subversion libncurses5-devncurses-term zlib1g-dev subversion git gawk asciidoc libz-dev

获取OpenWrt源码并添加OVS

123456789101112git clone git://git.openwrt.org/openwrt.git #获取Openwrt源码cd openwrt./scripts/feeds update –a #更新最新代码./scripts/feeds install –a #安装最新组件svn up #更新版本号#添加openwrt代码连接echo 'src-git openvswitch git://github.com/pichuang/openvwrt.git' >> feeds.conf #或者(建立代码连接)echo 'src-git openvswitch git://github.com/ttsubo/openvswitch.git' >> feeds.conf ./scripts/feeds update openvswitch ./scripts/feeds install -a -p openvswitch

编译固件

1make menuconfig

1 选择CPU型号(根据AP硬件选择,可参见openwrt的wiki页面)

1Target System—–Atheros AR71xx/AR7240/AR913x/AR934x

2 选择路由型号(根据路由器型号选择)

1TargetProfile—-xxxx

3 添加 Luci 及相关组件(语言包+DNNS)

123LuCI—>Collections—– luciLuCI—>Translations—- luci-i18n-chineseLuCI—>Applications —> luci-app-ddns.

4 添加UTF8编码

1Kernel modules —> Native Language Support —> kmod-nls-utf8

5 添加复位键支持

1Utilities —> restorefactory

6 添加 openvswitch

1Network -> openvswitch-switch, openvswitch-switch, openvswitch-ipsec (Optional)

7 save

1make V=99

固件编译成功后将在 target 文件夹中找到 .bin 文件,然后将镜像文件刷进系统,就得到了一个有Open VSwitch的AP。

方法二 通过opkg安装Open Vswitch

这种方法是利用Openwrt系统本身的opkg(Open PacKaGe management)管理器直接从互联网下载OVS的安装文件和相关依赖。

此方法有个前提是必须保证AP本身可以上网。

####AP连入互联网

Openwrt系统的官方固件中的WAN是默认DPCH上网的,最简单的上网方式是连接到上级网络的路由器:用网线连接此AP的WAN口和可上网的路由器的LAN口。这样Openwrt可以直接通过DPCH方式上网,不需要任何配置。

如果没有一个正常上网的路由器,AP联网的方式和其他商用路由器类似。首先将AP的WAN口连接到墙上的网口,打开luci界面:192.168.1.1,选择接口(interfaces),编辑WAN,然后按照运营商的上网方式设置相对的上网协议,输入账号密码等。

安装步骤

打开SecureCRT用SSH协议连接到Openwrt(ip地址:192.168.1.1,具体方式可参见上一篇博客)。

更新安装包并安装

123opkg update -aopkg install kmod-openvswitchopkg install openvswitch

我在使用这个方法安装时,一直出现无法连接到官方下载网站的问题。无法完成更新,也无法安装。

方法三 使用ipk安装包安装

第三种方法是我自己发现的方法,优点是简单而且不容易出错,但缺点就是太麻烦。如果走投无路了,也可以尝试一下这个方法。

此方法就是在Openwrt的软件库上下载相对应的安装包,放入Openwrt的 /tmp/文件夹内,利用opkg install命令安装。

在openwrt的archive网站找到对应的Openwrt固件版本

attitude_adjustment v12.09

backfire v10.03 / v10.03.1

barrier_breaker v14.07

chaos_calmer v15.05 / v15.05.1

releases v17.01.0 - v17.01.4

snapshots trunk

进入分类和版本内,选择相应文件系统,普遍是ar71xx。

选择 genetic/文件夹

选择Supplementary Files中的packages。

packages文件夹中有六个文件夹,所有的ipk文件都在这六个文件夹中。

​ base/ Openwrt系统工具(大部分工具安装包可在其中找到)

​ luci/ luci相关

​ management/ 管理包(不常用)

​ packages/ 工具和其他依赖文件

​ routing/ 不常用

​ telephony/ 不常用

大部分的基础工具都可以在 base/ 文件夹中找到,所需的依赖文件可在 packages/ 中找到。

在packages/文件夹中,用ctrl+F搜索 openvswitch ,下载以下ipk文件:

​ openvswitch_xx.xx.xx (xx是版本号)

​ openvswitch-benchmark_xx.xx.xx

​ kmod_openvswitch_xx.xx.xx

打开SecureCRT软件和WinSCP软件,连接到AP。

用WinSCP将ipk文件导入到 Openwrt 系统的 /tmp/ 文件夹下。

在SecureCRT中输入

12cd /tmp/opkg install openvswitch_xx.xx.xx.ipk #正确文件名

安装一定会失败,并提示缺少以下依赖,此时,在archive文件夹中根据错误提示逐个寻找依赖的ipk文件包,用同样的方式进行安装。

安装完所有缺省再次安装openvswitch的ipk。

安装ovs时,如果出现内核版本不对的错误提示,但又确实是安装了同一个CPU版本下的ovs包,可以尝试强制安装,如果安装之后可以使用ovs,就没有问题。

1opkg --force-depends install openvswitch_xx.xx.xx.ipk

这个方法确实非常麻烦,但是成功率很高,同时也适用于安装其他类型的工具包,所以比较推荐。

以上是我总结的三种在openwrt上安装openvswitch的方法,下一篇我讲继续介绍ovs的相关配置和使用。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3